import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios';

// 让Vue框架应用Vuex
Vue.use(Vuex);

export default {
    // 需要写几个常用属性（我们会使用到）
    state: {
        // 定义属性（会在vue组件里面调用）
        newHouse: [],
        newTotal: 0,
    },
    mutations: {
        // 给上面state定义的属性设置值
        setNewHouse(state, val) {
            //通过这方法去改bestHouse属性值
            //做数据追加 concat拼接方法
            // state.bestHouse = val;
            state.newHouse = state.newHouse.concat(val);
        }
    },
    actions: {
        // 定义方法（会在vue组件里面调用）
        getnewHouse({ commit, state }, pn) {
            //页码  
            let start = (pn - 1) * 3; //0 3 6 9
            let end = start + 3; //3 6 9 12

            //异步请求
            //getHouse (){} //原版结果：getHouse：function（）{}

            axios({
                method: 'get',
                url: "/data/house_data.json?pn=1"
            }).then((res) => {
                console.log(res);
                let data = res.data;
                if (data.code === 200) {
                    //给属性besthouse赋值
                    commit('setNewHouse', data.newHouse.slice(start, end));

                    //记录总数
                    state.newTotal = data.newHouse.length;
                }
            }).catch(() => {

            });
        },
    }
};